The disclosure relates to battery fuel gauges, and in particular, to battery fuel gauges using field-effect transistor (FET) or resistor segment control to increase low current measurement accuracy.
Unless otherwise indicated herein, the approaches described in this section are not admitted to be prior art by inclusion in this section.
Battery operated electronic devices often include circuitry for measuring the current flowing out of or into the battery. Such circuits are sometimes referred to as “Battery Fuel Gauges.” A typical Battery Fuel Gauge circuit 100 is shown in FIG. 1. The circuit 100 may measure current to and from a battery 102 and a voltage on the battery 102 to determine a state of charge (SOC) of the battery 102. The circuit 100 may include a battery voltage analog to digital converter (ADC) 104 and a battery current ADC 106. The voltage ADC 104 may convert a battery voltage Vbatt into a digital value, and the current ADC 106 may convert battery current sensed as voltage across a sense resistor 103 into a digital value. The digital battery voltage and battery current measurements are used by a battery state of charge calculation block 108 to determine state of charge of the battery 102.
One prior approach to detecting battery current measures a voltage across a high-side sense resistor 203 in series with the battery 102 in a battery fuel gauge circuit 200 as illustrated in FIG. 2. Another approach, battery fuel gauge 300 as illustrated in FIG. 3, has been to use a drain-source ON resistance (Rds(on)) of a field effect transistor (FET) 312 controlled by a gate control block 326. Yet another approach, battery fuel gauge 400 as illustrated in FIG. 4, has been to use replica sensing using a replica mirror current from a replica FET 414 that is scaled relative to the primary current from the battery FET 312. A sensing circuit 416 generates a voltage based on the replica mirror current and the primary current for the current ADC. However, these techniques are problematic because the battery current can fluctuate across a wide range of values. For example, when the system is drawing high currents (e.g., during normal or high demand system operating modes), a particular resistance value may be used to meet the range of the current ADC input. However, when the current drops due to the system entering sleep or standby modes, a series resistance value usable for higher current modes will produce very small voltage drops at the current ADC input. Reading low voltages by an ADC is very error prone, and solutions to such errors can be expensive and complicated.